﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using imaginecup.objectManager;
using Imaginecup.gameState.malaria.component.malaria;
using Imaginecup.gameState.malaria.component.children;
using imaginecup.information;
using Imaginecup.gameState.malaria.component.fieldScene;
using Imaginecup.gameState.malaria.component;

namespace Imaginecup.gameState.malaria.componentInit
{
    public class MalariaCompInit : IComponentInit
    {
        public void RegisterAllComponent(ObjectManagerData ObjManData)
        {
            InterfaceIDMan.GeneratorInterfaceID();
            MessageTypeIDMan.GeneratorTypeID();
            ComponentTypeIDMan.GeneratorTypeID();

            CmpRenderRegister.RegisterCmp(ObjManData);

            CmpChildrenEntityRegister.RegisterCmp(ObjManData);

            CmpMalariaEntityRegister.RegisterCmp(ObjManData);

            CmpFieldSceneRegister.RegisterCmp(ObjManData);
            CmpMessageNoneRegister.RegisterCmp(ObjManData);

            CmpItemEntityRegister.RegisterCmp(ObjManData);
            CmpPanelEntityRegister.RegisterCmp(ObjManData);

            CmpETCRegister.RegisterCmp(ObjManData);

            CmpFieldItemRegister.RegisterCmp(ObjManData);
            CmpFieldFrogRegister.RegisterCmp(ObjManData);

            CmpObserverRegister.RegisterCmp(ObjManData);
        }

        public int GetNumComponentTypeIDS()
        {
            return EnumIDInfomation.NUM_COMPONENT_TYPE_IDS;
        }

        public int GetNumMessageTypeIDS()
        {
            return EnumIDInfomation.NUM_MESSAGE_TYPE_IDS;
        }

        public int GetNumInterfaceIDS()
        {
            return EnumIDInfomation.NUM_INTERFACE_ID;
        }
    }
}
